﻿#define _CRT_SECURE_NO_WANINGS 1
#pragma warning(disable: 4996)
#include<string.h>
#include<assert.h>
#include<ctype.h>
#include <stdio.h>
#include<stdlib.h>
#include <stdio.h>


int main()
{
	int arr1[] = { 1,2,3,4,5 };
	int arr2[] = { 2,3,4,5,6 };
	int arr3[] = { 3,4,5,6,7 };
	//数组名是数组⾸元素的地址，类型是int*的，就可以存放在parr数组中
	int* parr[3] = { arr1, arr2, arr3 };
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 5; j++)
		{
			printf("%d ", parr[i][j]);
		}
		printf("\n");
	}
	return 0;
}
//void bubble_sort(int arr[], int sz)//参数接收数组元素个数
//{
//	int i = 0;
//	for (i = 0; i < sz - 1; i++)
//	{
//		int j = 0;
//		for (j = 0; j < sz - i - 1; j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				int tmp = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = tmp;
//			}
//		}
//	}
//}
//int main()
//{
//	int arr[] = { 3,1,7,5,8,9,0,2,4,6 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	bubble_sort(arr, sz);
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}

//void test(int arr[])//参数写成数组形式，本质上还是指针
//{
//	printf("%d\n", sizeof(arr));
//}
//void test(int* arr)//参数写成指针形式
//{
//	printf("%d\n", sizeof(arr));//计算⼀个指针变量的⼤⼩
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	test(arr);
//	return 0;
//}
//void test(int arr[])
//{
//	int sz2 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz2 = %d\n", sz2);
//}
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int sz1 = sizeof(arr) / sizeof(arr[0]);
//	printf("sz1 = %d\n", sz1);
//	test(arr);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 0 };
//	//输⼊
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	//输⼊
//	int* p = arr;
//	for (i = 0; i < sz; i++)
//	{
//		scanf("%d", p + i);
//		//scanf("%d", arr+i);//也可以这样写
//	}
//	//输出
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", *(p + i));
//	}
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	printf("&arr[0] = %p\n", &arr[0]);
//	printf("arr = %p\n", arr);
//	return 0;
//}
//int main()
//{
//	char a[30] = { 0 };
//	char b[30] = { "   123" };
//	char c[30] = { "123abc111" };
//	int ret1 = atoi(a);
//	int ret2 = atoi(b);
//	int ret3 = atoi(c);
//	printf("%d\n %d\n %d\n", ret1, ret2, ret3);
//}

//int my_atoi(const char* a)
//{
//	assert(a != NULL);
//	int f = 1;
//	int ret = 0;
//	int i = 0;
//	if ('/0' == *a || 0 == *a)
//	{
//		return 0;
//	}
//	while (isspace(*a))
//	{
//		a++;
//	}
//	if (*a == '-')
//	{
//		f = -1;
//		a++;
//	}
//	if (*a == '+')
//	{
//		a++;
//	}
//	while (*a >= '0' && *a <= '9')
//	{
//		ret = ret * 10 + (*a - '0');
//		a++;
//	}
//	ret = ret * f;
//	return ret;
//}
//int main()
//{
//    char a[30] = { "   123123abca111" };
//	int ret = my_atoi(a);
//	printf("%d ", ret);
//	return 0;
//}

//void* my_memmove(void* dest, const void* sour, size_t num)
//{
//	if (dest < sour)
//	{
//		for (int i = 0; i <= num-1; i++)
//		{
//			*((char*)dest + i) = *((char*)sour + i);
//		}
//		return dest;
//	}
//	else if (dest > sour)
//	{
//		for (int i = num-1; i >= 0; i--)
//		{
//			*((char*)dest + i) = *((char*)sour + i);
//		}
//		return dest;
//	}
//	else
//	{
//		return dest;
//	}
//}
//
//int main()
//{
//	int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	my_memmove(arr1 + 2, arr1, 5 * sizeof(int));
//	for (int i = 0; i < 10; i++)
//	{
//		printf("%d ", arr1[i]);
//	}
//	return 0;
//}
//int main()
//{
//	int i = 1;
//	if ((char)i == 1)
//	{
//		printf("xiaoduan");
//	}
//	else
//	{
//		printf("daduan");
//	}
//	return 0;
//}
//int main()
//{
//	int n = 9;
//	float* pFloat = (float*)&n;
//	printf("n的值为：%d\n", n);
//	printf("*pFloat的值为：%f\n", *pFloat);
//	*pFloat = 9.0;
//	printf("num的值为：%d\n", n);
//	printf("*pFloat的值为：%f\n", *pFloat);
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	char a[1000];
//	int i;
//	for (i = 0; i < 1000; i++)
//	{
//		a[i] = -1 - i;
//	}
//	printf("%d", strlen(a));
//	return 0;
//}
//#include<stdio.h>

//#include <stdio.h>
//
//#include <stdio.h>
//
//
//#include <stdio.h>
//int main()
//{
//	char a = 128;
//	printf("%u\n", a);
//	return 0;
//}

//int main()
//{
//	char a = -128;
//	printf("%u\n", a);
//	return 0;
//}


//int main()
//{
//	char a = -1;
//	signed char b = -1;
//	unsigned char c = -1;
//	printf("a=%d,b=%d,c=%d", a, b, c);
//	return 0;
//}
